home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
ms_dos
/
attr
/
attr.lst
< prev
next >
Wrap
File List
|
1993-11-30
|
27KB
|
609 lines
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-1
INCLUDE STD.H
I ;+-------------------------------------------
---------------------+
I ;|
|
I ;| Sstandard Mcro Libraly
|
I ;|
|
I ;|
Name STD.H |
I ;|
Made 1993-8-14 |
I ;|
By Tetsu |
I ;+-------------------------------------------
---------------------+
I
I ; VOID
I
I STR MACRO MSG
I PUSH AX
I PUSH DX
I MOV DX, MSG
I MOV AH, 09H
I INT 21H
I POP DX
I POP AX
I ENDM
I
I CHR MACRO CHAR
I PUSH AX
I PUSH DX
I MOV DL, CHAR
I MOV AH, 02H
I INT 21H
I POP DX
I POP AX
I ENDM
I
I PRINT MACRO MSGADR
I PUSH AX
I PUSH DX
I MOV AH, 09H
I MOV DX, OFFSET MSGADR
I INT 21H
I PUSH DX
I PUSH AX
I ENDM
I
I CRLF MACRO
I PUSH AX
I PUSH DX
I MOV AH, 02H
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-2
I MOV DL, CR
I INT 21H
I
I MOV AH, 02H
I MOV DL, LF
I INT 21H
I POP DX
I POP AX
I ENDM
0000 CODE SEGMENT
ASSUME CS:CODE, DS:CODE, ES:CODE
0080 ORG 80H
0080 ?? CMDLEN DB ?
0081 007F[ ?? ] CMDBUF DB 127 DUP(?)
0100 ORG 100H
0100 START:
0100 8A 1E 0080 R MOV BL, CMDLEN
0104 80 FB 04 CMP BL, 4
0107 73 03 JNB SWITCH
0109 E9 00C2 JMP USE
010C SWITCH:
010C 32 FF XOR BH, BH
010E 80 BF 007F R 2F CMP CMDBUF[BX - 2], '/'
0113 74 03 JE SW_OK
0115 E9 00B6 JMP USE
0118 SW_OK:
0118 BA 0082 R MOV DX, OFFSET CMDBUF[1]
011B C6 87 007F R 00 MOV CMDBUF[BX - 2], 0
0120 B8 4300 MOV AX, 4300H
0123 CD 21 INT 21H
0125 73 03 JNC CHKCX
0127 E9 0094 JMP ERROR
012A CHKCX:
012A F7 C1 0010 TEST CX, SBD
012E 74 08 JE SUBD
0130 F7 C1 0008 TEST CX, LBL
0134 74 0A JE LABL
0136 EB 10 JMP SHORT GETSW
0138 SUBD:
0138 C7 06 041A R FFEF MOV TRG, NOT 10H
013E EB 08 JMP SHORT GETSW
0140 LABL:
0140 C7 06 041A R FFF7 MOV TRG, NOT 08H
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-3
0146 EB 00 JMP SHORT GETSW
0148 GETSW:
0148 8A 87 0080 R MOV AL, CMDBUF[BX - 1]
014C 3C 3F CMP AL, '?'
014E 75 03 JNE GET1
0150 E9 0089 JMP LIST
0153 GET1:
0153 24 DF AND AL, NOT('A' XOR 'a')
0155 3C 52 CMP AL, 'R'
0157 74 17 JE R
0159 3C 57 CMP AL, 'W'
015B 74 20 JE W
015D 3C 48 CMP AL, 'H'
015F 74 23 JE H
0161 3C 4E CMP AL, 'N'
0163 74 2C JE N
0165 3C 53 CMP AL, 'S'
0167 74 2E JE S
0169 3C 42 CMP AL, 'B'
016B 74 30 JE B
016D E9 003E JMP SERROR
0170 R:
0170 83 C9 01 90 OR CX, READ_ONLY
0174 83 F9 03 90 CMP CX, READ_ONLY + HIDDEN
0178 74 1D JE S
017A E9 0025 JMP CHANGE
017D W:
017D 83 E1 FE 90 AND CX, NOT READ_ONLY
0181 E9 001E JMP CHANGE
0184 H:
0184 83 C9 02 90 OR CX, HIDDEN
0188 83 F9 03 90 CMP CX, HIDDEN + READ_ONLY
018C 74 09 JE S
018E E9 0011 JMP CHANGE
0191 N:
0191 83 E1 FD 90 AND CX, NOT HIDDEN
0195 EB 0B JMP SHORT CHANGE
0197 S:
0197 B9 0004 90 MOV CX, SYSTEM
019B EB 05 JMP SHORT CHANGE
019D B:
019D 83 E1 23 AND CX, 00100011B
01A0 EB 00 JMP SHORT CHANGE
01A2 CHANGE:
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-4
01A2 B8 4301 MOV AX, 4301H
01A5 CD 21 INT 21H
01A7 72 15 JC ERROR
01A9 32 C0 XOR AL, AL
01AB E9 011A JMP RETURN
01AE SERROR:
PRINT SERRMSG
01AE 50 1 PUSH AX
01AF 52 1 PUSH DX
01B0 B4 09 1 MOV AH, 09H
01B2 BA 02E0 R 1 MOV DX, OFFSET SERRMSG
01B5 CD 21 1 INT 21H
01B7 52 1 PUSH DX
01B8 50 1 PUSH AX
01B9 B0 01 MOV AL, 1
01BB E9 010A JMP RETURN
01BE ERROR:
PRINT ERRMSG
01BE 50 1 PUSH AX
01BF 52 1 PUSH DX
01C0 B4 09 1 MOV AH, 09H
01C2 BA 02F0 R 1 MOV DX, OFFSET ERRMSG
01C5 CD 21 1 INT 21H
01C7 52 1 PUSH DX
01C8 50 1 PUSH AX
01C9 B0 02 MOV AL, 2
01CB E9 00FA JMP RETURN
01CE USE:
PRINT USEMSG
01CE 50 1 PUSH AX
01CF 52 1 PUSH DX
01D0 B4 09 1 MOV AH, 09H
01D2 BA 0302 R 1 MOV DX, OFFSET USEMSG
01D5 CD 21 1 INT 21H
01D7 52 1 PUSH DX
01D8 50 1 PUSH AX
01D9 E9 00EC JMP RETURN
INCLUDE CHK.ASM
01DC I LIST:
I PRINT LIST_F
01DC 50 I PUSH AX
01DD 52 I PUSH DX
01DE B4 09 I MOV AH, 09H
01E0 BA 03EE R I MOV DX, OFFSET LIST_F
01E3 CD 21 I INT 21H
01E5 52 I PUSH DX
01E6 50 I PUSH AX
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-5
I STR DX
01E7 50 I PUSH AX
01E8 52 I PUSH DX
01E9 8B D2 I MOV DX, DX
01EB B4 09 I MOV AH, 09H
01ED CD 21 I INT 21H
01EF 5A I POP DX
01F0 58 I POP AX
I CRLF
01F1 50 I PUSH AX
01F2 52 I PUSH DX
01F3 B4 02 I MOV AH, 02H
01F5 B2 0D 90 90 I MOV DL, CR
01F9 CD 21 I INT 21H
01FB B4 02 I MOV AH, 02H
01FD B2 0A 90 90 I MOV DL, LF
0201 CD 21 I INT 21H
0203 5A I POP DX
0204 58 I POP AX
I
0205 I RED:
I PRINT ATTRIB1
0205 50 I PUSH AX
0206 52 I PUSH DX
0207 B4 09 I MOV AH, 09H
0209 BA 03CB R I MOV DX, OFFSET ATTRIB1
020C CD 21 I INT 21H
020E 52 I PUSH DX
020F 50 I PUSH AX
I
0210 F7 C1 0001 I TEST CX, READ_ONLY
0214 74 19 I JE HID
I PRINT H_ON
0216 50 I PUSH AX
0217 52 I PUSH DX
0218 B4 09 I MOV AH, 09H
021A BA 03F2 R I MOV DX, OFFSET H_ON
021D CD 21 I INT 21H
021F 52 I PUSH DX
0220 50 I PUSH AX
I PRINT L_OFF
0221 50 I PUSH AX
0222 52 I PUSH DX
0223 B4 09 I MOV AH, 09H
0225 BA 0415 R I MOV DX, OFFSET L_OFF
0228 CD 21 I INT 21H
022A 52 I PUSH DX
022B 50 I PUSH AX
022C E9 0016 I JMP HID1
022F I HID:
I PRINT L_ON
022F 50 I PUSH AX
0230 52 I PUSH DX
0231 B4 09 I MOV AH, 09H
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-6
0233 BA 0401 R I MOV DX, OFFSET L_ON
0236 CD 21 I INT 21H
0238 52 I PUSH DX
0239 50 I PUSH AX
I PRINT H_OFF
023A 50 I PUSH AX
023B 52 I PUSH DX
023C B4 09 I MOV AH, 09H
023E BA 0406 R I MOV DX, OFFSET H_OFF
0241 CD 21 I INT 21H
0243 52 I PUSH DX
0244 50 I PUSH AX
I
0245 I HID1:
I PRINT ATTRIB2
0245 50 I PUSH AX
0246 52 I PUSH DX
0247 B4 09 I MOV AH, 09H
0249 BA 03D8 R I MOV DX, OFFSET ATTRIB2
024C CD 21 I INT 21H
024E 52 I PUSH DX
024F 50 I PUSH AX
0250 F7 C1 0002 I TEST CX, HIDDEN
0254 74 19 I JE SYS
I PRINT H_ON
0256 50 I PUSH AX
0257 52 I PUSH DX
0258 B4 09 I MOV AH, 09H
025A BA 03F2 R I MOV DX, OFFSET H_ON
025D CD 21 I INT 21H
025F 52 I PUSH DX
0260 50 I PUSH AX
I PRINT L_OFF
0261 50 I PUSH AX
0262 52 I PUSH DX
0263 B4 09 I MOV AH, 09H
0265 BA 0415 R I MOV DX, OFFSET L_OFF
0268 CD 21 I INT 21H
026A 52 I PUSH DX
026B 50 I PUSH AX
026C E9 0016 I JMP SYS1
I
026F I SYS:
I PRINT L_ON
026F 50 I PUSH AX
0270 52 I PUSH DX
0271 B4 09 I MOV AH, 09H
0273 BA 0401 R I MOV DX, OFFSET L_ON
0276 CD 21 I INT 21H
0278 52 I PUSH DX
0279 50 I PUSH AX
I PRINT H_OFF
027A 50 I PUSH AX
027B 52 I PUSH DX
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-7
027C B4 09 I MOV AH, 09H
027E BA 0406 R I MOV DX, OFFSET H_OFF
0281 CD 21 I INT 21H
0283 52 I PUSH DX
0284 50 I PUSH AX
I
0285 I SYS1:
I PRINT ATTRIB3
0285 50 I PUSH AX
0286 52 I PUSH DX
0287 B4 09 I MOV AH, 09H
0289 BA 03E3 R I MOV DX, OFFSET ATTRIB3
028C CD 21 I INT 21H
028E 52 I PUSH DX
028F 50 I PUSH AX
0290 F7 C1 0004 I TEST CX, SYSTEM
0294 74 19 I JE SYSEND
I PRINT H_ON
0296 50 I PUSH AX
0297 52 I PUSH DX
0298 B4 09 I MOV AH, 09H
029A BA 03F2 R I MOV DX, OFFSET H_ON
029D CD 21 I INT 21H
029F 52 I PUSH DX
02A0 50 I PUSH AX
I PRINT L_OFF
02A1 50 I PUSH AX
02A2 52 I PUSH DX
02A3 B4 09 I MOV AH, 09H
02A5 BA 0415 R I MOV DX, OFFSET L_OFF
02A8 CD 21 I INT 21H
02AA 52 I PUSH DX
02AB 50 I PUSH AX
02AC E9 0019 I JMP RETURN
I
02AF I SYSEND:
I PRINT L_ON
02AF 50 I PUSH AX
02B0 52 I PUSH DX
02B1 B4 09 I MOV AH, 09H
02B3 BA 0401 R I MOV DX, OFFSET L_ON
02B6 CD 21 I INT 21H
02B8 52 I PUSH DX
02B9 50 I PUSH AX
I PRINT H_OFF
02BA 50 I PUSH AX
02BB 52 I PUSH DX
02BC B4 09 I MOV AH, 09H
02BE BA 0406 R I MOV DX, OFFSET H_OFF
02C1 CD 21 I INT 21H
02C3 52 I PUSH DX
02C4 50 I PUSH AX
02C5 E9 0000 I JMP RETURN
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-8
02C8 RETURN:
CRLF
02C8 50 1 PUSH AX
02C9 52 1 PUSH DX
02CA B4 02 1 MOV AH, 02H
02CC B2 0D 90 90 1 MOV DL, CR
02D0 CD 21 1 INT 21H
02D2 B4 02 1 MOV AH, 02H
02D4 B2 0A 90 90 1 MOV DL, LF
02D8 CD 21 1 INT 21H
02DA 5A 1 POP DX
02DB 58 1 POP AX
02DC B4 4C MOV AH, 4CH
02DE CD 21 INT 21H
INCLUDE ATTR.DEF
= 000D I CR EQU 0DH
= 000A I LF EQU 0AH
= 0007 I BEL EQU 07H
I
I ; READ ONLY = R
I ;NOT READ ONLY = W
I ; HIDDEN = H
I ;NOT HIDDEN = N
I ; SYSTEM = S
I ;NOT SYSTEM = B
I
I ;READ_ONLY EQU 00000001B
I ;HIDDEN EQU 00000010B
I ;SYSTEM EQU 00000100B
I
= 0001 I READ_ONLY EQU 00000001B
= 0002 I HIDDEN EQU 00000010B
= 0004 I SYSTEM EQU 00000100B
I
= 0020 I FLE EQU 00100000B ; = FILE
= 0010 I SBD EQU 00010000B ; = SUBDIR
= 0008 I LBL EQU 00001000B ; = LABEL
I
02E0 0D 0A 07 42 61 64 20 I SERRMSG DB CR, LF, BEL, "Bad switch", CR, LF, '
$'
73 77 69 74 63 68 0D
0A 24
02F0 0D 0A 07 42 61 64 20 I ERRMSG DB CR, LF, BEL, "Bad filename", CR, LF,
'$'
66 69 6C 65 6E 61 6D
65 0D 0A 24
0302 0D 0A 09 09 41 74 74 I USEMSG DB CR, LF, " Attr.com Target /Option"
72 2E 63 6F 6D 20 54
61 72 67 65 74 20 2F
4F 70 74 69 6F 6E
031D 0D 0A 00 I DB CR, LF, ""
0320 0D 0A 09 09 4F 6F 74 I DB CR, LF, " Ootion "
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Page 1-9
69 6F 6E 20
032B 0D 0A 00 I DB CR, LF, ""
032E 0D 0A 09 2F 52 09 20 I DB CR, LF, " /R Set Attrib Read Only"
20 53 65 74 20 41 74
74 72 69 62 20 52 65
61 64 20 4F 6E 6C 79
034A 0D 0A 09 2F 57 09 52 I DB CR, LF, " /W Reset Attrib Read only"
65 73 65 74 20 41 74
74 72 69 62 20 52 65
61 64 20 6F 6E 6C 79
0366 0D 0A 09 2F 48 09 20 I DB CR, LF, " /H Set Attrib Hidden"
20 53 65 74 20 41 74
74 72 69 62 20 48 69
64 64 65 6E
037F 0D 0A 09 2F 4E 09 52 I DB CR, LF, " /N Reset Attrib Hiddem"
65 73 65 74 20 41 74
74 72 69 62 20 48 69
64 64 65 6D
0398 0D 0A 09 2F 53 09 20 I DB CR, LF, " /S Set Attrib System"
20 53 65 74 20 41 74
74 72 69 62 20 53 79
73 74 65 6D
03B1 0D 0A 09 2F 42 09 52 I DB CR, LF, " /B Reset Attrib System",'$'
65 73 65 74 20 41 74
74 72 69 62 20 53 79
73 74 65 6D 24
03CB 0D 0A 52 65 61 64 20 I ATTRIB1 DB CR, LF, "Read Only ", '$'
4F 6E 6C 79 09 24
03D8 0D 0A 48 69 64 64 65 I ATTRIB2 DB CR, LF, "Hidden ", '$'
6E 09 09 24
03E3 0D 0A 53 79 73 74 65 I ATTRIB3 DB CR, LF, "System ", '$'
6D 09 09 24
03EE 0D 0A 09 24 I LIST_F DB CR, LF, " " , '$'
03F2 1B 5B 37 3B 35 6D 4F I H_ON DB "
ON
$"
4E 1B 5B 30 6D 20 20
24
0401 4F 4E 20 20 24 I L_ON DB "ON $"
0406 1B 5B 37 3B 35 6D 4F I H_OFF DB "
OFF
$"
46 46 1B 5B 30 6D 20
24
0415 4F 46 46 20 24 I L_OFF DB "OFF $"
041A 0000[ 0001 ] I TRG DW ? DUP(1)
041A 0001 0002 0020 I ATR DW 01H, 02H, 20H, DUP(3)
0420 CODE ENDS
END START
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Symbols-1
GROUPS AND SEGMENTS
Name Size Use Align Combine Class
CODE . . . . . . . . . . . . . . 00000420 USE16 PARA NONE
MACROS
Name # Params # Lines
CHR . . . . . . . . . . . . . . 1 7
CRLF . . . . . . . . . . . . . . 0 10
PRINT . . . . . . . . . . . . . 1 7
STR . . . . . . . . . . . . . . 1 7
VARIABLES AND LABELS
Name Type Offset Scope Segment
ATR . . . . . . . . . . . . . . WORD 0000041A Prvate CODE
ATTRIB1 . . . . . . . . . . . . BYTE 000003CB Prvate CODE
ATTRIB2 . . . . . . . . . . . . BYTE 000003D8 Prvate CODE
ATTRIB3 . . . . . . . . . . . . BYTE 000003E3 Prvate CODE
B . . . . . . . . . . . . . . . N LABEL 0000019D Prvate CODE
CHANGE . . . . . . . . . . . . . N LABEL 000001A2 Prvate CODE
CHKCX . . . . . . . . . . . . . N LABEL 0000012A Prvate CODE
CMDBUF . . . . . . . . . . . . . BYTE 00000081 Prvate CODE
CMDLEN . . . . . . . . . . . . . BYTE 00000080 Prvate CODE
ERRMSG . . . . . . . . . . . . . BYTE 000002F0 Prvate CODE
ERROR . . . . . . . . . . . . . N LABEL 000001BE Prvate CODE
GET1 . . . . . . . . . . . . . . N LABEL 00000153 Prvate CODE
GETSW . . . . . . . . . . . . . N LABEL 00000148 Prvate CODE
H . . . . . . . . . . . . . . . N LABEL 00000184 Prvate CODE
H_OFF . . . . . . . . . . . . . BYTE 00000406 Prvate CODE
H_ON . . . . . . . . . . . . . . BYTE 000003F2 Prvate CODE
HID . . . . . . . . . . . . . . N LABEL 0000022F Prvate CODE
HID1 . . . . . . . . . . . . . . N LABEL 00000245 Prvate CODE
L_OFF . . . . . . . . . . . . . BYTE 00000415 Prvate CODE
L_ON . . . . . . . . . . . . . . BYTE 00000401 Prvate CODE
LABL . . . . . . . . . . . . . . N LABEL 00000140 Prvate CODE
LIST . . . . . . . . . . . . . . N LABEL 000001DC Prvate CODE
LIST_F . . . . . . . . . . . . . BYTE 000003EE Prvate CODE
N . . . . . . . . . . . . . . . N LABEL 00000191 Prvate CODE
R . . . . . . . . . . . . . . . N LABEL 00000170 Prvate CODE
RED . . . . . . . . . . . . . . N LABEL 00000205 Prvate CODE
RETURN . . . . . . . . . . . . . N LABEL 000002C8 Prvate CODE
S . . . . . . . . . . . . . . . N LABEL 00000197 Prvate CODE
SERRMSG . . . . . . . . . . . . BYTE 000002E0 Prvate CODE
SERROR . . . . . . . . . . . . . N LABEL 000001AE Prvate CODE
START . . . . . . . . . . . . . N LABEL 00000100 Prvate CODE
SUBD . . . . . . . . . . . . . . N LABEL 00000138 Prvate CODE
SW_OK . . . . . . . . . . . . . N LABEL 00000118 Prvate CODE
SWITCH . . . . . . . . . . . . . N LABEL 0000010C Prvate CODE
SYS . . . . . . . . . . . . . . N LABEL 0000026F Prvate CODE
SYS1 . . . . . . . . . . . . . . N LABEL 00000285 Prvate CODE
SYSEND . . . . . . . . . . . . . N LABEL 000002AF Prvate CODE
TRG . . . . . . . . . . . . . . WORD 0000041A Prvate CODE
Phar Lap Macro Assembler Version 2.0 Wed Aug 18 06:58:29 1993
Symbols-2
USE . . . . . . . . . . . . . . N LABEL 000001CE Prvate CODE
USEMSG . . . . . . . . . . . . . BYTE 00000302 Prvate CODE
W . . . . . . . . . . . . . . . N LABEL 0000017D Prvate CODE
CONSTANTS
Name Type Value
BEL . . . . . . . . . . . . . . Integer 00000007
CR . . . . . . . . . . . . . . . Integer 0000000D
FLE . . . . . . . . . . . . . . Integer 00000020
HIDDEN . . . . . . . . . . . . . Integer 00000002
LBL . . . . . . . . . . . . . . Integer 00000008
LF . . . . . . . . . . . . . . . Integer 0000000A
READ_ONLY . . . . . . . . . . . Integer 00000001
SBD . . . . . . . . . . . . . . Integer 00000010
SYSTEM . . . . . . . . . . . . . Integer 00000004
55 Symbols
0 Warning Errors
0 Severe Errors